import java.lang.reflect.Field;
//反射
public class TestDemo3 {
    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        String str = "abcde";
        Class<?> c1 = String.class;
        // 获取 String 类中的 value 字段. 这个 value 和 String 源码中的 value 是匹配的.
        Field valueField = c1.getDeclaredField("value");
        // 将这个字段的访问属性设为 true
        valueField.setAccessible(true);
        // 把 str 中的 value 属性获取到.
        char[] value = (char[]) valueField.get(str);
        // 修改 value 的值
        value[0] = 'h';
        System.out.println(str);
    }

    public static void main2(String[] args) {
        String str = "abcde";
        for (int i = 0; i < 10; i++) {
            str += i;
        }
        System.out.println(str);
    }
    public static void main1(String[] args) {
        String str = "hello" ;
        str = str + " world" ;
        str += "!!!" ;
        System.out.println(str);
    }

}